<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>静态成员和实例成员</title>
</head>
<body>
  <script>
    // 构造函数中的属性和方法我们称为成员, 成员可以添加
    function Star (uname, age) {
      this.uname = uname
      this.age = age
      this.sing = function () {
        console.log('我会唱歌')
      }
    }

    var ldh = new Star('刘德华', 18)
    // 1.实例成员就是构造函数内部通过this添加的成员 uname age sing 就是实例成员
    // 实例成员只能通过实例化的对象来访问
    console.log(ldh.uname)  // 刘德华
    ldh.sing()              // 我会唱歌
    // console.log(Star.uname) // undefined  不可以通过构造函数来访问实例成员

    // 2. 静态成员 在构造函数本身上添加的成员  sex 就是静态成员
    Star.sex = '男'
    // 静态成员只能通过构造函数来访问
    console.log(Star.sex)  // 男
    // console.log(ldh.sex) // 不能通过对象来访问
  </script>
</body>
</html>